/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;


import Dao.ItemVendaDao;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.UIParameter;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.persistence.RollbackException;

import pojo.ItemVenda;

/**
 *
 * @author jonatan
 */
@ManagedBean(name="beanItemVenda")
@SessionScoped
public class ItemVendaBean {
    
    
    private ItemVendaDao itemvendadao = new ItemVendaDao();
    private ItemVenda itemvenda = new ItemVenda();
    private List<ItemVenda> listaitemvenda = new ArrayList<ItemVenda>();
    private ItemVenda excluido;

    public ItemVendaBean() {
    }

    public ItemVendaDao getItemvendadao() {
        return itemvendadao;
    }

    public ItemVenda getItemvenda() {
        return itemvenda;
    }

    public List<ItemVenda> getListaitemvenda() {
        return listaitemvenda;
    }

    public ItemVenda getExcluido() {
        return excluido;
    }

    public void setItemvendadao(ItemVendaDao itemvendadao) {
        this.itemvendadao = itemvendadao;
    }

    public void setItemvenda(ItemVenda itemvenda) {
        this.itemvenda = itemvenda;
    }

    public void setListaitemvenda(List<ItemVenda> listaitemvenda) {
        this.listaitemvenda = listaitemvenda;
    }

    public void setExcluido(ItemVenda excluido) {
        this.excluido = excluido;
    }
    
    
    public String salvar() {
        itemvendadao.Gravar(itemvenda);
        itemvenda = new ItemVenda();
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "CONFIRMAÇÃO",
                "Cadastrado realizado com sucesso!"));
        return "CadastroCategoria.xhtml";
    }
    
    public List<ItemVenda> listaitemvenda() {
        return listaitemvenda = itemvendadao.Listar(ItemVenda.class);
    }
    
    public String removeritemvenda(ItemVenda obj) {
        try {
            itemvendadao.Remover(obj);
            cancelar();
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
                    "CONFIRMAÇÃO", "Item de Venda removido com sucesso!"));
        } catch (RollbackException e) {
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL,
                    "ATENÇÃO", "Registro já esta em uso, não pode ser removido."));
        }
        return "CadastroItemVenda.xhtml";
    }
    public void parametroRemover(ActionEvent event) {
        UIComponent link = event.getComponent();
        UIParameter param = (UIParameter) link.findComponent("idParaRemover");
        excluido = (ItemVenda) param.getValue();
    }
    
    public void remover() {
        removeritemvenda(excluido);
        excluido = null;
    }

    public void alterar(ItemVenda obj) {
        obj = itemvendadao.Buscar(obj.getId());
        this.itemvenda = obj;
    }

    public String cancelar() {
        itemvenda = new ItemVenda();
        return "CadastroItemVenda.xhtml";
    }

    public String paginaItemVenda() {
        return "CadastroItemVenda.xhtml";
    }
    
    
    
}
